package marina.interfaces;

public interface J16Interface {
	// => 인터페이스는 반드시 public으로 접근지정자를 지정해줘야 한다.
	// => 계약 관계이므로 쉽게 바뀌어선 안된다. 그래서 final을 이용하여 상수로 만들어줘야 한다.
	public static final String a = "";
	// => 인터페이스 내에서 선언하는 메서드는 접두사로 abstract가 붙는다.
	//	  (몸체는 제외되는데 이러한 메서드는 추상 메서드<불완전 정의>라고 한다.)
	abstract public int b();
	public int c();	//=> abstract는 생략이 가능하다. 그러나 써주는 것이 명시적으로 더 좋음.
} //Interface

class J16Implements implements J16Interface {
	// 불완전한 메서드를 완전하게 만들어주는 과정을 구현이라 하며 이는 implements라는 키워드로 상속을 받음과 함께 이루어진다.
	@Override
	public int b() {
		// TODO Auto-generated method stub
		return 0;
	}
	@Override
	public int c() {
		// TODO Auto-generated method stub
		return 0;
	}
}